implement atom shell support