Button fixing

not finished, but at a decent stopping point