started work on forking, may need to switch to OOP though