adding implementation of SLIM, very slooow atm