data can be adjusted dynamically