lot of stuff changed + comments added. added more rm implementation -
need to figure out the precise rm implementation I NEED YOU NICOLAS