restructure, add OOP directory