clean constructor