site constructor