big refactoring include ionic