smoothing using native ramp-up
refactor a bit
bug fix in setInterval