cleaned up base