Complete rewrite with VOKAL's coding standards and best practices.
Updated gitignore.