contact constructor and ideas