refac1
resturctucted, maps not working yet
maps working and refactored