What i have done:
Remove the compatibility with Adafruids Motor Shield Version 1
Split the functions into files.
Add a new G-Command (G28 - do homing)
Add support for limit switches (X-Home, X-End, Y-Home, Y-End)
steps/[mm | in] translator
send actual position to PC-Software (see https://github.com/hirnwunde/hwCNC)
Soft limit switch (don't leave your defined working space)