basic unit class implemented