code refactored, effect 'none' added