add silex
extract class
big refactoring
encapsulates the old app in action