add opendoor function