move to analytical_wake class