ready for usman's code