basics of instanceable buttons