Final commit? there are missing features, but I can rework it when I want