module + directive skeleton