some tweaks, fully working