functional push, missing if and drop downs and styling, but functional