V 0.1 Finished basic logic. Still can improve.