Add tooling
Finish functional cloner
Move some files
Make it DSLy