fixed constructor abuse