initial code commit

w/ help of @KugaiceHiMe