cleaned up types