adding maximum functionality