Finish non-OOP version