cleaned up and added some documentation