updated top half