refactor + some inspect features