Cleaned up, moved main logic to diff project