use message%, split up button funcs