Reorganized to resemble a real project