updated attribute handling in constructors
changed to using require_once instead of require