Whoops, forgot the actual class implementation