Refactor
 - Remove code smells
 - Add documentation
 - Make code more style-guide conform