made pulse nicer with exceptions