Initial code commit

all the code I already did