code splitting
added extra commands for usability but still keeping old system.
None checking to avoid crashing