more cleaner version of data representation #1