finished Console version