Some TODOs.
Better API, fixes all over, horrible commit message.