incorporating feedback from pas256