Cleaned up a little bit, needs more cleaning. Also added some comments #14