everything working, some debugging needed