updated build strategy and checking for portability.