Functional project exported from BitBucket. Still needs improvements.