implemented Marsalli method