add processing
refactor and add precipitation