fixing some OO-mistakes and add full functions