more implemented, still not working