momentum has explicit parameters to manipulate, must cast into concrete object to call those functions