proper handling for long