alter constructor