adding some deep learnign