add mvc
add chain of responsibility
add simple chain implementation
add static inner class singleton