simple noise first implementation