fixed some bugs + add todos and hint