Big update

Almost all basic things done, a lot of polishing from here :p