required functionality section