Added bunch of improvements