final product, pending client changes