First commit

This version is already working, but is not finished yet