forgot "static" keyword on declare factory method