I had forgotten to commit some files in the previous
commits. This add those files and improves upon base object class