init_error is not qualified for free store and getkey want's to be precise
constructors comes first or last?
will it work as a method rather than a function ? | ahh just testing