added support for rk4