Adding some little changes, still need to finish all the TODO list