Static init now checks if it has been previously initialised and constructor init also checks the element passed to it