done basic unit logic