make alternative constructor