Rewrite of the si package