redesign and bug fixing