add delete methods
cleanup and fix tests