implemented interface
second lab finalized