use None to represent none
DRY out move method, holy cheese
comprehen-sible
tweak syntax