implement more user options