eclare all function