functions based
expand and contract with buttons