Inital commit, i know there are many problems.