Adds new features and resolves #45