Changed implementation so that it conforms instance creation on each call