* Moved implementation to Implementation module