module fixes and api tweak