Work in Progress .... to be worked out later ....