valid movement system cleaned up
public constructors for testing purposes