removing purge! and purge_type! from implementation
improving code readability