Better API, better readme, cleanup