cleaned up structure and added omnicomplete