add 'once' functionalliy to only happen once