Note: We will be releasing frequent updates to Octa GST to keep pace with government notifications and user feedbacks. If your computer is connected to internet while using Octa GST, it will automatically notify you about the availability of new version. Please update the application when a newer version is available. Old versions may produce incorrect output and they are not supported.
Version 7.7.3 (Dec 17, 2018)
Fixed an issue in purchase and GSTR-2A reconciliation which prevented auto-linking in some rare cases.
Fixed an issue in importing the sales credit/debit notes using Octa format.
Version 7.7.1 (Dec 13, 2018)
Added support of HSN summary in GSTR-9 with following methods:
Automatically calculate HSN summary from sales/purchase data
Import of HSN summary from Excel file
Manual entry of HSN summary
Added support of automatic HSN summary adjustment in GSTR-1 based on sales returns (credit notes)
Improved GSTR-3B JSON file compatibility with GST Portal data
Added support of supplier and receiver action information in GSTR-1 Excel export
Included exempt and nil rated sales in taxable value calculation of GSTR-1 HSN summary
Added the check point in sales data validation to indicate if same invoice has already been reported in earlier tax periods.
Added the check point in purchase data validation to indicate if same purchase invoice has already been added in earlier tax periods.
Version 7.6 (Dec 4, 2018)
Added the support of exporting GSTR-9 to Excel format.
Added the support of exporting GSTR-1 of multiple return periods in one single Excel file.
Added the support of exporting GSTR-2A of multiple return periods in one single Excel file.
Version 7.5.1 (Nov 27, 2018)
Improved the performance of GSTR-9 and GST Returns Annual Report when lakhs of documents are added in Octa GST.
Fixed a rare issue in GST returns annual report & GSTR-9 which could result in incorrect GSTR-2A amendment value.
Version 7.5 (Nov 15, 2018)
Enhanced GSTR Annual report to include the transaction reported in next financial year. For example, if sales invoices pertaining to FY 2017-18 are reported after March 2018, they will also be included in the annual report. Similarly if supplier has reported some invoice pertaining to FY 2017-18 after March 2018, it will be consolidated in GSTR-2A month by month report.
Enhanced GSTR Annual report to bifurcate the credit/debit notes as per the nature of original invoice.
Fixed an issue in purchase non-taxable summary which prevented the saving and editing of records.
Version 7.4 (Nov 3, 2o18)
Support of GSTR-9 with auto-calculations from GSTR-1, GSTR-2A and GSTR-3B.
Version 7.3.3 (Oct 26, 2018)
Added support of more GST Portal transaction codes in GSTR-3B liabilities and payments.
Version 7.3.1 (Oct 24, 2018)
New: Support of GSTR-3B printing. Double click on GSTR-3B return and click Print or Export.
New: Added support of GSTR-1 and GSTR-2A download in Octa GST Assistant.
Improvement: Added the filter by original/amendment voucher in purchase-GSTR2A reconciliation.
Improvement: Showed the original and amendment details on reconciliation screen and mismatch report.
Improvement: Modified the supplier summary in purchase-GSTR2A reconciliation to exclude the tax if a voucher has been amended by supplier.
Fixed: While importing GSTR-1, handled a rare case when null fields are received in GSTR-1.
Fixed: an issue in smart linking to prevent crash if multiple vouchers with same voucher no exists in purchase data.
Version 7.2 (Oct 20, 2018)
Added support of GST Returns annual report. The annual report contains the:
GSTR-1 month-wise summary
GSTR-2A month-wise summary
GSTR-3B month-wise summary
Month-wise comparison of GSTR-3B and GSTR-1
Month-wise comparison of GSTR-3B and GSTR-2A
Version 7.1.2 (Oct 15, 2018)
Fixed an issue which affected the voucher linking in GSTR-2A and purchase reconciliation in some cases.
Version 7.1.1 (Oct 14, 2018)
Fixed an issue which caused failure to add GSTR-3B in Octa GST in some cases.
Version 7.1 (Oct 12, 2018)
Facility to download GSTR-3B JSON file from GST Portal using Google Chrome extension (Octa GST Assistant) available on Chrome Web Store. GSTR-3B JSON file can now be added in Octa GST to view and export the data to Excel format.
Facility to add GSTR-1 file in Octa GST. Once added, GSTR-1 data can be exported to Excel format.
GSTR-2A and Purchase reconciliation improved with configurable options to include/exclude reverse charge or not filed invoices.
GSTR-2A and Purchase reconciliation improved to provide better supplier-wise summary and progress indication.
Added support of new range of GSTINs as per latest GSTN technical specification.
Version 7.0 (Oct 3, 2018) - 🎉 major release 🎊
A lot of improvements in information display, data processing and workflows that will make boost your productivity even further. This release brings a major shift in interface design which will enable a number of features that we are planning to introduce in near future. We are super excited to make this release available to you and we hope you will like the changes. You can read more about the design changes on our blog.
Sales & Purchase
No global selection of GSTIN and return period. A consolidated view of transactions of multiple GSTINs and periods.
Dynamic selection of GSTIN and return period while importing/export business transactions.
Facility to apply GSTIN and return period filters in search box.
GSTR-2A & GSTR-4A
Facility to add multiple GST Portal files in one go.
Consolidated view of all GST Portal files.
Facility to clear multiple data files in one go.
GSTR-2A & Purchase Reconciliation
Redesigned interface with in-line export of mismatch report of individual suppliers.
Ability to change the GSTIN and reconciliation period on the fly.
Facility to apply various filters in invoice comparison view.
GSTR-1, GSTR-3B, GSTR-4
Redesigned single screen for return overview and workflows.
Dynamic selection of GSTIN and return period within the return modules.
Facility to delete GSTIN and returns information. This is useful if a GSTIN or return information is added accidentally.
Version 6.18 (Sep 28, 2018)
Fixed an issue in splitting GSTR-1 JSON files if sales data contains amendments.
Updated GSTR-4 generation for latest GSTR-4 schema released by GSTN.
Version 6.17 (Sep 6, 2018)
GSTR-2A reconciliation: Allowed all return periods while auto-adding invoices in purchase data during reconciliation with GSTR-2A. Earlier the list of available return periods was restricted.
GSTR-2A reconciliation: While showing the supplier-wise summary, total tax now excludes the tax amount if return is not filed by supplier.
Improved the error handling during Excel file import mechanism.
Minor performance and user interface improvements.
Version 6.16 (Aug 24, 2018)
GSTR-2A Reconciliation: Fixed the issue when search by supplier name was not working when purchase invoices are not entered.
GSTR-2A Mismatch Report: Updated to stop redundant export of missing invoices. Now missing invoices are exported in a single line only.
GSTR-2A Import: Fixed a rare issue when credit/debit note amendments are not imported.
Tally Purchase Data Import: Improved the compatibility with Tally generated GSTR-2 Excel files.
Contact/Item Selection: Updated to show the full list of contacts/items when no search text is entered. This will be useful to browse all contacts/items for selection.
Version 6.15.1 (Aug 21, 2018)
GSTR-2A Reconciliation: Updated to better handle an edge case where invoice date in purchase data and supplier data are significantly different.
Version 6.15 (Aug 18, 2018)
Purchase reconciliation with GSTR-2A:
Added the functionality to generate mismatch report for a single supplier. Very useful if you wish to share the mismatch report with your supplier.
Improved pattern matching with option to link using multiple patterns.
Version 6.14 (Aug 4, 2018)
Purchase reconciliation with GSTR-2A:
View the total and pending count in supplier-wise summary.
Introducing Smart Linking in invoice no. Now link thousands of invoices in seconds even if invoice number in purchase data and GSTR-2A is different.
Version 6.13 (JUL 25, 2018)
Huge performance optimisations in all import and export operations. Now export the GSTR-2A mismatch report at blazing fast speed even with thousands of incoices.
Facility to reconcile all purchase transactions with GSTR-2A in one go. Even if the transactions are spread across multiple financial years.
Keywords export in GSTR-2A mismatch report. You can use this facility to tag your purchase transaction to track them later. For example, if you have purchase transactions in multiple business units, you can tag the unit names with your purchase transactions and easily track or filter them in mismatch report.
Fixed an issue in incorrect data export in case of credit/debit note amendments. This issue has no impact on GSTR-1 return data.
Version 6.12 (Jul 5, 2018)
Sale from Custom Bonded Warehouses: Octa GST now supports logging and reporting sale and purchase from custom bonded warehouse. Updated GSTR-1, GSTR-2A, GSTR-3B and GSTR-4A to support the same.
GSTR-4A: Support of GSTR-4A introduced. You can view and export GSTR-4A to excel format.
Self Invoice Printing: Support of printing self-invoice in purchase.
Printing Customisation: Support of customisation for colour and top margin to support printed letterheads.
Enhanced License Protocol: Enhanced the license protocol to make it more robust for various networks. This is applicable only for Professional Subscription.
GSTR-2A Reconciliation: Enhanced the mismatch report format for missing vouchers.
Version 6.11 (Jun 29, 2018)
Added the facility to pick the return period while adding the purchase voucher during GSTR-2A reconciliation.
Added the facility to select the period in GSTR-2A reconciliation and mismatch report.
Authorised signatory support in sales invoice printing.
Support of viewing and exporting ISD documents in GSTR-2A.
Various UI improvements.
Version 6.10.2 (Jun 22, 2018)
Fixed an issue which can cause failure in export of GSTR-2A Mismatch Report.
Version 6.10.1 (Jun 18, 2018)
Digital signature applied to installable and application.
Minor UI improvements.
Version 6.10 (Jun 17, 2018)
GSTR-2A Reconciliation: Supplier-wise summary in GSTR-2A reconciliation module.
GSTR-2A Reconciliation: Automatic suggestion in case of manual matching of purchase vouchers.
GSTR-1 & GSTR-3B: Updates in JSON schema as per latest GSTN specification.
GSTR-1: Handled the rare case when GSTR-1 JSON file is not accepted by GST Portal because of file size.
Version 6.9 (Jun 8, 2018)
Improved reconciliation with GSTR-2A
Update GSTR-2A files in Octa GST without affecting the existing reconciliation status.
Search by voucher type (e.g. Invoices, credit notes, debit notes).
Add your own notes to invoices to keep track of reconciliation.
Update the reconciliation status even when there is no voucher in supplier data.
GSTR-1: Support of amendments of all sections.
GSTR-1 Export/Cleanup: Export or clean up GSTR-1 including amendments.
GSTR-2A: View and export auto-populated amendments.
Version 6.8 (May 25, 2018)
Purchase Reconciliation with GSTR-2A (New)
A fully reimagined and user friendly purchase reconciliation with GSTR-2A.
Beautiful and intuitive user interface to visualise the mismatches.
Detailed comparison of each parameter to know exactly what is not matching.
Perform the reconciliation of complete financial year in one go.
Elegantly handle the mismatch in invoice numbers. Take control of matching by manually overriding the invoice number matching.
Export the detailed and informative reconciliation report.
Version 6.7 (May 9, 2018)
GSTR-1 schema updated as per latest GSTN technical specification.
GSTR-2 page has been removed as it has been suspended by GST Council. Purchase reconciliation functionality merged with GSTR-2A module for easier access.
Sales invoice printing format improved to support some rare cases.
Version 6.6 (Apr 19, 2018)
Invoice Printing (New): Now you can print your sales invoices and other sales vouchers such as Credit/Debit notes.
Support of SEZ Taxpayers (New): Now SEZ tax payers can also prepare GST Returns using Octa GST.
Configurable Data Store (New): Now you can configure a custom location where all Octa GST data files are stored.
Version 6.5 (Apr 12, 2018)
GSTR-3B (New): Now you can prepare GSTR-3B return by manually filling the sales, purchase & ITC summary directly. Now Octa GST support two modes to prepare GSTR-3B. First is Automatic mode, which has generates the GSTR-3B from sales and purchase invoices. In version 6.5, you can use Manual mode which allows you directly enter the summary data and generate the return JSON file.
GSTR-4: Updated the JSON generation to align it with GSTN specifications.
GSTR-4: Removed the reason field from import and user interface for credit/debit notes. This field is no longer required to file the return.
Version 6.4 (Apr 10, 2018)
GSTR-4: Incorporated the latest changes in GSTR-4 JSON schema as per GST Portal.
GSTR-4: Included the B2B purchase from registered taxpayers in GSTR-4 return as these need to be reported in Q4 return.
Version 6.3 (Apr 9, 2018)
New: Support of Personal (Single GSTIN) and Professional (Multi User) pricing plans introduced.
Version 6.2 (Apr 7, 2018)
Updated the GSTR-1 and GSTR-4 JSON export as per latest GSTN schema.
Fixed an issue in return period addition and display.
Version 6.1 (APr 5, 2018)
Added the facility to export various masters such as contacts, inventory items and item units.
Update the import Excel format files to clearly indicate which columns are required and which ones are optional. All optional columns are now marked in green colour.
Fixed an issue in return period display and data storage.
Version 6.0 (Mar 30, 2018)
Added the software activation based on subscription.
Allowed both GSTR-2A and GSTR-2 files to be used for purchase reconciliation. Now you can add GSTR-2A file in GSTR-2 page and reconcile the purchase transactions.
Added the facility to log GST return filing status and information. Check the Business page.
Version 5.13 (Mar 17, 2018)
Support of latest GSTR-1 Excel format of GST Offline Tool added.
Removed the automatic tax adjustment because GST portal has rolled back the strict validation on tax amounts.
Version 5.12 (Feb 26, 2018)
Support of Tally ERP9 6.4 generated GSTR-1 excel file added. This had to be done specially for Tally because structure of GSTR-1 excel file generated by Tally ERP9 6.4 is not as per GST Offline Tool format v1.5.
Version 5.11 (Feb 24, 2018)
Updated to incorporate the changes in GSTR-1 technical specification and JSON schema as per GST Portal.
Added the tax adjustment algorithm to match the tax amount calculations with GST Portal. GST portal has recently applied very strict checks on the tax amount. This is done to ensure successful upload of GSTR-1 return when there is very small difference in the tax amount calculated by GST portal.
Added support of importing GSTR-1 Excel file v1.5 of GST offline tool.
Added support of intra-state"deemed export" sale.
Added support of "deemed export" purchase.
Reason field removed in credit/debit notes of sales. This is no longer needed as per GSP Portal specification.
Modified to remember the last used GSTIN and return period for every data file.
Added support of negative values in HSN summary.
Version 5.10 (Jan 17, 2018)
Updated to handle the latest GSTN technical schema definition of GSTR-1. This was was causing issues in GSTR-1 to Excel conversion process in some cases.
Version 5.9 (Jan 15, 2018)
Fixed an issue in b2b/cdnr (GSTN Offline Excel format) sheets to accept UIN in Receiver GSTIN field.
Fixed an issue in docs sheet (GSTN Offline Excel format) where invalid data in Documents Issued sheet could cause the import process to fail.
Fixed a rare case in which GSTR-1 to Excel conversion could fail.
Minor UI improvements.
Fixed an issue in purchase reconciliation with GSTR-2 which caused an issue in automatic invoice creation.
Version 5.8 (Jan 8, 2018)
Modified to report both HSN code and description in HSN summary if both are available in the data.
Enabled Jan-Mar 2018 return periods.
Updated the e-commerce GSTIN validation as per latest GSTN technical specification.
Enhanced the auto-suggestion algorithm if invalid GSTIN is entered by user in import files.
Enhanced the serial no validation of document issued section in GSTR-1.
Added the standard GST rate 0.1% for merchant exporters.
Fixed an issue where import error could be shown incorrectly.
Version 5.7 (Dec 29, 2017)
Enhanced the processing of documents issued (docs) sheet as per latest Excel format of GSTN tool.
Version 5.6 (Dec 29, 2017)
Added the compatibility with GSTN Offline Excel Format 1.4 released recently. The new format includes the "Receiver Name" column in B2B and CDNR sheets. This is now also supported in GSTR-1 Excel export.
Added the correct GSTIN suggestion if it is invalid in import excel file. Octa GST will now try to suggest the correct GSTIN if there is a common mistake in entering the GSTIN.
Enhanced the GSTR-1 JSON parsing in GSTN Tools to support recent changes in GST Portal.
Minor enhancements in general error reporting.
Version 5.5 (Dec 24, 2017)
Added the functionality to export the complete set of sales and purchase data of any return period to Excel file. This feature can be used to as an external backup of any return data set. The generated file can be imported back in Octa GST.
Made the total invoice/voucher value field optional in Octa GST Excel import file. If you leave it blank, Octa GST will auto-calculate the invoice/voucher value using on line items.
Made the reference voucher value optional in Octa GST Excel import file (SalesDocuments sheet).
Addressed a rare issue which could affect GSTR-1 to Excel functionality in GSTN Tools.
Made the ignorable amount (the amount difference that may be ignored) manually editable. Earlier it was possible to select only from the list of values.
Other performance and reliability improvements.
Version 5.4 (Dec 18, 2017)
Modified to handle the recent changes in GST Portal for quarterly return filing of GSTR-1.
Version 5.3 (Dec 17, 2017)
Handled a rare case when converting the GSTR-1 JSON file to Excel format in GSTN Tools section.
Version 5.2 (Dec 8, 2017)
Improvements in GSTN file format import for more robust matching of headers.
Minor improvements in user interface.
Version 5.1 (Dec 2, 2017)
Disabled GSTR-3B return module for quarterly return period in order to avoid confusion.
Fixed a formatting issue in GSTR-4 return Excel export file.
Version 5.0 (Dec 1, 2017)
GSTR-4: Now you can use Octa GST to prepare and upload GSTR-4 return for composition taxpayers.
Quarterly Returns: Now you can prepare quarterly GSTR-1 return.
Version 4.5 (NOv 17, 2017)
Fixed an issue where dashboard summary of outward supplies in GSTR-3B could be incorrect.
Version 4.4 (Nov 16, 2017)
GSTR-3B outward supplies and ITC table improved to show sub-totals for different sections.
GSTR-3B tables improved to highlight non-zero values.
Fixed an issue in GSTR-3B dashboard where display value of total ITC was incorrect.
Version 4.3 (Nov 15, 2017)
Performance enhancement for import of very large data set.
Version 4.2 (Nov 15, 2017)
Added the facility to import the GSTR-1 Excel and CSV files in GST Offline Tool format. This excel file format is exported by most ERP and accounting software packages like Tally, Busy and Marg.
Added the facility to generate GSTR-1 and GSTR-3B return data in Excel format. Now in addition to JSON file, you can also generate Excel file with return data and keep it for future reference.
GST Portal does not show the return data if number of invoices are large. Now you can convert the GSTR-1 & GSTR-2 return file downloaded from GST Portal to Excel format for easy reference and analysis. See GSTN Tools page in Octa GST.
Version 4.1 (Nov 9, 2017)
Handled an incompatibility issue while importing GSTR-2 files generated by GST Portal.
Handled an issue which prevented the successful export of GSTR-2 to Excel in some cases.
Version 4.0 (Nov 9, 2017)
Octa GST can now import the GSTR-2 Excel and CSV files in GST Offline Tool format. This excel file format is exported by most ERP and accounting software packages like Tally, Busy and Marg. Now you can easily import the purchase data in Octa GST and reconcile it with GSTR-2 data available on GST Portal.
Added the facility to manually provide non-taxable and HSN summary details.
Now you can Accept the supplier reported invoices without entering it in your purchase data.
In GSTR-2 matching, Octa GST used to show a mismatch if there was a difference of more than ₹1 in taxable or tax amount. Now you can configure this limit as per your preference.
In addition to generate JSON that can be uploaded to portal, you can also export the GSTR-2 return data to Excel file. This file contains all data which is reported in return. This file is useful for updating the account books based on return submitted and for future reference.
GST Portal's recent recommendations about GSTR-2 has been incorporated in Octa GST. These rules will reduce the chances of errors during return upload.
Version 3.8 (Nov 2, 2017)
Made HSN description, quantity and units optional in Octa import formats. Many of our users reported that this data is sometimes not available easily. Now you import the sales and purchase data without these fields. Please note that if this data is not available, these line items will not be included in HSN summary.
The import errors screen is improved drastically. A lot of our users were not realising that precise error description is available for each error. This functionality is now properly exposed and made more accessible.
Changed the format of GSTR-2/2A Excel export. This is now the same format as Octa Excel Import format. This helps to start with GSTR-2/2A data to generate your purchase data.
Demo button on the home screen is renamed to Explore. Many of our users getting confused that it is a demo version. 😊
Provided a Keywords field in all vouchers. You may use this field to tag the invoices as per your needs. This field is searchable in all screens. For example, you may write "No-ITC" for those invoices on which you don't wish to claim ITC, and then simply search for "No-ITC" in GSTR-2 ITC claim screen and click "Not Eligible".
Added the functionality to clear all contacts.
Added the functionality to clear all items.
Port Code is enforced in capital letters to avoid issues at later stages.
Allowed the invoice date prior to 01-Jul-2017 in case of import invoice. This is a valid case if bill of entry date is after 01-Jul-2017.
Allowed the reconciliation action "Accept" even in case of mismatch in GSTR-2.
Reduced the significance of Invoice Date field in GSTR-2 auto-matching. Now a difference of only invoice date mismatch will be shown as "Almost Matching" rather than "Not Matching".
Minor enhancements in Excel export format of GSTR-2 mismatch report.
Added better message when GSTR-2A file is added to GSTR-2 module. This was already not allowed but a lot of our users were trying to add GSTR-2A file in GSTR-2 module. We have now added a better message to help clarify this case.
Version 3.7 (Oct 30, 2017)
Updated to handle the exceptional cases when empty vouchers (vouchers of zero value) are received from GST Portal in GSTR-2 file.
Updated the handling of import invoices & ITC eligibility when multiple import invoices are raised for same bill off entry.
Version 3.6 (Oct 26, 2017)
Added support of exporting the GSTR-2 mismatch report to Excel file.
Version 3.5 (Oct 24, 2017)
Fixed an issue where incorrect message was displayed to user when GSTR-2A file was added in GSTR-2 module.
Mismatch report algorithm is optimised to process large data set even faster.
Version 3.4 (Oct 23, 2017)
Support of GSTR-3B JSON file.
Support of GSTR-1 and GSTR-2 clean-up tools.
Version 3.3 (Oct 18, 2017)
GSTR-2 data export to Excel introduced.
GSTR-2 return file (JSON) generation enabled.
Version 3.0.2 (Oct 14, 2017)
Improvements in GSTN file import to match with GST Portal output.
Version 3.0.1 (Oct 11, 2017)
Minor tweaks to handle the operations done on GST portal.
Version 3.0.0 (Oct 10, 2017)
This is a major release of Octa GST which brings support of GSTR-2A and GSTR-2. Salient features of this release are:
Add GSTR-2A file downloaded from GST Portal and view all information reported by your suppliers.
Export GSTR-2A information to Excel for reference, analysis and comparison purpose.
Add GSTR-2 file downloaded from GST Portal and view all information reported by your suppliers.
Auto-matching of purchase information with data reported by your suppliers.
Side-by-side comparison of purchase documents.
Bulk actions to quickly reconcile a large number of documents.
Never miss input tax credit on even a single document by going through the ITC claim facility. Take bulk action to claim ITC on a large number of documents.
Auto-generate all sections of GSTR-2.
Comprehensive view of all GSTR-2 sections. Analyse different sections of return with full details of relevant documents.
Document issued information is moved from Sales module to GSTR-1 module. You can now add or modify the details of document issued from GSTR-1 module itself.
GSTR-2 return filing is more challenging than GSTR-1 because of matching, reconciliation and ITC claims. We have put a huge efforts in making this complex activity a lot simpler by automating most activities. We hope that you will love the simplicity of Octa GST.
Version 2.1.0 (Sep 19, 2017)
Improved user interface of ITC claim in GSTR-3B added.
Version 2.0.0 (Sep 19, 2017)
Support of adding purchase transactions (invoices, credit/debit notes etc.)
Support of GSTR-3B, now automatically generate GSTR-3B from sales and purchase transactions.
Version 1.4.1 (Sep 8, 2017)
Improved detection of reason codes while importing sales documents.
Improved error messages on import validation.
Version 1.4.0 (Sep 3, 2017)
Included services in HSN summary of GSTR1.
Minor improvements to handle GSTN portal edge cases.
Version 1.3.2 (Aug 28, 2017)
Standard list of UQC (unit quantity code) updated as per latest list of GST portal.
Purchase import file format published.
Minor improvements in Excel file import to minimise user entry.
Version 1.3.1 (Aug 25, 2017)
Support of Excel 2007 added.
Version 1.3 (Aug 25, 2017)
Support of directly importing Excel files.
Other UI improvements
Version 1.2 (AUG 23, 2017)
Support of "Deemed Export" sales invoice
Enhancement in GSTR-1 Advance Received and Advance Adjusted summary
Various performance improvements
Version 188.8.131.52 (aug 20, 2017)
Automatic check of app updates and user notification
Added a demo database to quickly get a hands-on tour of all Octa GST features
Minor bug fixes and performance improvements