refactor input groups

now supports buttons