Everything wroking, style issues and improvements still to be coded