added comments so I might have a chance of using this code later