prototype fin.

Let's do refactoring