alternate implementation
avoid compiled files