initial placement and neighbor functions added