fundamental bug fixes