Bit of refactoring
start support is gonna be hard to implement.