Added factory method for future use