eek. dig out your OOP book again ;(