Added a lot of implementation. Almost works!