jk, now functionality is actually done