updated/refactored 66,94,95,173