Cleanup and added some complexities