sorted everything into packages, add a map maker class