initial commit for slave placement

still need tests