added parameters and algorithm enums