final version, only tests