started new file with faruq's recommended functions