removed specialisation and moved stuff around
general tidy up