cleaned up/added some documentation