Initial code commit

Still need to be made more generic