add spec and code to pass 3,999