Meh, gonna do this with dynamic code generation.
Dynamic code generation done for now