simplify createButtons as it's never called with varying length args anyway
more commenting around heavily composed functions