add simple penalty mechanics + fix bugs