added unit tests, beans and interfaces