first commit, ugly code.