modify user logic