Updated Factory methods