first commit
big changes for new api