additions and cleanup