add gitignore *~ and .directory
rewrite the constructor
rewrite constructor