Added module support and basic functionality