domain method implementation