Initial commit, library not finished yet