Reworked the whole implementation
Reworked the whole implementation
Merge
Fixed the density problem