randomness and cleaned up classes