Inital commit; code needs to be refactored.