some fixing needed