add new costrustor