using Math.floor for better readability