added new generic steps to handle user defined object