First implementation added. Still with some bugs.