replace promise library with a fake promise for the local cache
avoid catastrophic failure
added back source CSS files
alternative search implementation