buy units function must live in more of a base class