fix bug. more wip.