refactor + todo. Not workin for now