add cache
add bean validation