cleaning up
added Impulse object
switched Impulse obj to using dynamically calculated properties