Steve Elliott #1 BlitzMax's OOP implementation is the best I've seen because it doesn't over complicate the issue - I'm still not truly convinced about OOP though.