real job functionality done