probably working good?
fixed and slightly less memory usage