some more changes, and has mad structure to be implemented tomorrow