still one bug to fix