Big refactor
Reducing functionality