add placing strategy
add map controller
move classes and methods around