finalised define your own class